Researchers have developed a variety of approaches for promoting secure computation. For example, fully homomorphic encryption (FHE) provides encrypted computation without restricting the processor or the programs that run. FHE allows a server to receive encrypted data and to perform, without access to a secret decryption key, arbitrarily-complex dynamically-chosen computations on data while the data remains encrypted. Secure computation on user inputs can be assured even when the processor and the software stack are untrusted.
Oblivious RAMs (ORAMs) introduce algorithms to completely stop any information leakage through memory access patterns. Some variants of ORAM techniques use the idea of probabilistic oblivious RAM and protect against information leaks by randomly shuffling memory locations before the same location gets accessed twice.
Trusted platform modules (TPMs) are chips soldered to motherboards of processing systems. A TPM defines a limited set of entities (such as shielded locations holding cryptographic keys or hashes), as well as a closed set of operations that can be performed with primitives (such as using a key to unwrap another key or to sign a piece of data).